package de.cbf.cam.dsa.dataprovider.talents;

import java.util.ArrayList;
import java.util.List;

import de.cbf.cam.dsa.model.base.TalentTmpl;
import de.cbf.cam.dsa.model.entities.OneAttribute;
import de.cbf.cam.dsa.model.entities.constants.TalentConstants;

public class TalentProviderHandcraft {
	private final int TYPE = TalentTmpl.TYPE_Talent_Handcraft;
	private static TalentProviderHandcraft instance = new TalentProviderHandcraft();

	public static TalentProviderHandcraft getInstance() {
		return instance ;
	}

	public List<TalentTmpl> provideHandcraftTalents() {
		List<TalentTmpl> resultList = new ArrayList<TalentTmpl>();
		
		resultList.add(provideAbrichten());
		resultList.add(provideAckerbau());
		resultList.add(provideAlchmie());
		resultList.add(provideBergbau());
		resultList.add(provideBogenbau());
		resultList.add(provideBooteFahren());
		resultList.add(provideBrauer());
		resultList.add(provideDrucker());
		resultList.add(provideFahrzeugLenken());
		resultList.add(provideFalschspiel());
		resultList.add(provideFeinmechanik());
		resultList.add(provideFeuersteinbearbeitung());
		resultList.add(provideFleischer());
		resultList.add(provideGerber());
		resultList.add(provideGlaskunst());
		resultList.add(provideGrobschmied());
		resultList.add(provideHandel());
		resultList.add(provideHauswirtschaft());
		resultList.add(provideHKGift());
		resultList.add(provideHKKrankheiten());
		resultList.add(provideHKSeele());
		resultList.add(provideHKWunden());
		resultList.add(provideHolzbearbeitung());
		resultList.add(provideInstrumentenbauer());
		resultList.add(provideKartographie());
		resultList.add(provideKochen());
		resultList.add(provideKristallzucht());
		resultList.add(provideLederarbeiten());
		resultList.add(provideMalen());
		resultList.add(provideMaurer());
		resultList.add(provideMetallguss());
		resultList.add(provideMusizieren());
		resultList.add(provideSchloesser());
		resultList.add(provideSchnapsBrennen());
		resultList.add(provideSchneidern());
		resultList.add(provideSeefahrt());
		resultList.add(provideSeiler());
		resultList.add(provideSteinmetz());
		resultList.add(provideJuwelier());
		resultList.add(provideStellmacher());
		resultList.add(provideStoffeFaerben());
		resultList.add(provideTaetowieren());
		resultList.add(provideToepfern());
		resultList.add(provideViehzucht());
		resultList.add(provideWebkunst());
		resultList.add(provideWinzer());
		resultList.add(provideZimmermann());
		
		
		return resultList;
	}
	
	private TalentTmpl provideAbrichten() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Abrichten, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}	
	private TalentTmpl provideAckerbau() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Ackerbau, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideAlchmie() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Alchimie, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideBergbau() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Bergbau, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideBogenbau() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Bogenbau, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideBooteFahren() {
		TalentTmpl template = new TalentTmpl(TalentConstants.BooteFahren, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideBrauer() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Brauer, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideDrucker() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Drucker, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideFahrzeugLenken() {
		TalentTmpl template = new TalentTmpl(TalentConstants.FahrzeugLenken, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideFalschspiel() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Falschspiel, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideFeinmechanik() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Feinmechanik, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideFeuersteinbearbeitung() {
		TalentTmpl template = new TalentTmpl(TalentConstants.FeuersteinBearb, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideFleischer() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Fleischer, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideGerber() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Gerber, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideGlaskunst() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Glaskunst, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideGrobschmied() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Grobschmied, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.FF,OneAttribute.KO,OneAttribute.KK});
		template.addCompensateTalent(TalentConstants.Metallguss, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHandel() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Handel, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHauswirtschaft() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Hauswirtschaft, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHKGift() {
		TalentTmpl template = new TalentTmpl(TalentConstants.HKGift, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHKKrankheiten() {
		TalentTmpl template = new TalentTmpl(TalentConstants.HKKrankheiten, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHKSeele() {
		TalentTmpl template = new TalentTmpl(TalentConstants.HKSeele, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHKWunden() {
		TalentTmpl template = new TalentTmpl(TalentConstants.HKWunden, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.KL,OneAttribute.CH,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Anatomie, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideHolzbearbeitung() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Holzbearbeitung, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideInstrumentenbauer() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Instrumentenbauer, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideKartographie() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Kartographie, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideKochen() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Kochen, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideKristallzucht() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Kristallzucht, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideLederarbeiten() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Lederarbeiten, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideMalen() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Malen, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideMaurer() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Maurer, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideMetallguss() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Metallguss, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideMusizieren() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Musizieren, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSchloesser() {
		TalentTmpl template = new TalentTmpl(TalentConstants.SchloesserKnacken, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSchnapsBrennen() {
		TalentTmpl template = new TalentTmpl(TalentConstants.SchnapsBrennen, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSchneidern() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Schneidern, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSeefahrt() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Seefahrt, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSeiler() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Seiler, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideSteinmetz() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Steinmetz, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideJuwelier() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Juwelier, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideStellmacher() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Stellmacher, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideStoffeFaerben() {
		TalentTmpl template = new TalentTmpl(TalentConstants.StoffeFaerben, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideTaetowieren() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Taetowieren, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideToepfern() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Toepfern, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideViehzucht() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Viehzucht, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideWebkunst() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Webkunst, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideWinzer() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Winzer, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
	private TalentTmpl provideZimmermann() {
		TalentTmpl template = new TalentTmpl(TalentConstants.Zimmermann, TYPE);
		template.setAttributesToTest(new String[]{OneAttribute.MU,OneAttribute.KL,OneAttribute.FF});
		template.addCompensateTalent(TalentConstants.Sinnenschaerfe, -10);		
		template.setSktColumn('B');
		return template;
	}
}
